//
//#ifndef PROJECTZ_NUSER_NCOMMAND_CS_REQ_INVEN_USE_H_
//#define PROJECTZ_NUSER_NCOMMAND_CS_REQ_INVEN_USE_H_
//
//#include "../../engine.h"
//
//#include "../../User.h"
//#include "../../Data.h"
//#include "../../game/game.h"
//
//#include "../../NLogic/Bag.h"
//#include "../../NLogic/Equip.h"
//#include "../../NLogic/Item.h"
//
//namespace ProjectZ { namespace NCommand { namespace NWorld {
//
//class CS_REQ_INVEN_USE
//{
//public:
//	static void OnExecute(User * pUser, ::Network::Packet * pPacket)
//	{
//		PREPARE_PACKET;
//
//		uint8_t bag_type;
//		uint64_t item_seq;
//
//		pPacket->ParseMsg("%c%8d", &bag_type, &item_seq);
//
//		FILELOG("CS_REQ_INVEN_USE : bag_type=%d, item_seq=%lld", bag_type, item_seq);
//
//		NLogic::Bag * pBag = pUser->GetBag(static_cast<INVEN_BAG_TYPE>(bag_type));
//		if (NULL == pBag)
//		{
//			return;
//		}
//
//		NLogic::Item * pItem = pBag->GetItem(item_seq);
//		if (NULL == pItem)
//		{
//			return;
//		}
//
//		if (1 != pItem->GetData().item_type)
//		{
//			SendPacket(pUser, ACK_UNKNOWN_ERROR, 0, 0);
//			return;
//		}
//
//		if (pItem->GetData().quantity <= 0)
//		{
//			return;
//		}
//
//		pItem->GetData().quantity -= 1;
//
//		if (pItem->GetData().quantity <= 0)
//		{
//			pItem->SetStatus(static_cast<int>(ITEM_RECORD_STATUS::ITEM_RECORD_STATUS_REMOVED));
//
//			pBag->PopItem(item_seq);
////			if (true == pItem->IsEquip())
////			{
////				pUser->GetEquip()->PopItem(pItem->GetEquipPos());
////			}
//		}
//
//		pItem->UpdateDatabaseItemInfo();
//		SendPacket(pUser, ACK_OK, bag_type, pItem->GetData().bag_slot_number);
//	}
//
//	static void SendPacket(User * pUser, int res, int bag_type, int bag_slot_number)
//	{
//		::Network::Packet * pAck = ::Network::GETPACKETPOOL()->SEND_NEW();
//
//		pAck->MsgCat("%2d", res);
//		pAck->MsgCat("%c", bag_type);
//		pAck->MsgCat("%c", bag_slot_number);
//		pAck->MakePacket(CMD_SC_REQ_INVEN_USE);
//
//		pUser->Send(pAck);
//	}
//};
//
//} /*NWorld*/ } /*NCommand*/ } /*ProjectZ*/
//
//
//#endif /* PROJECTZ_NUSER_NCOMMAND_CS_REQ_INVEN_USE_H_ */
